Poplar: A Java Extension for Evolvable Component Integration
نویسندگان
چکیده
The Java programming language contains many features that aid component-based software development (CBSD), such as interfaces, visibility levels, and strong support for encapsulation. However, component evolution often causes so-called breaking changes, largely because of the rigidity of component interconnections in the form of explicit method calls and field accesses. We present a Java extension, Poplar, which we are currently developing. In Poplar, intercomponent dependencies are expressed using declarative queries; concrete linking code, generated using a planning algorithm, replaces these at compile time. Poplar includes a minimal specification language based on typestate-like protocols and labels, and a lightweight effect system, which ensures the absence of unwanted interference between handwritten code and generated code. We give several examples of fully automatic component integration using Poplar, and demonstrate its potential to simplify object-oriented software development greatly through evolvable and statically checkable integration links.
منابع مشابه
Dynamically Evolvable Distributed Systems
Software systems must change over time. Changing business practices, the relentless advance of technology, and the demands of end users drive this evolution. The functionality required of applications inevitably changes in response to these factors. Consequently, in order to remain viable, applications must evolve to meet new requirements. Software component evolution is a major focus of effort...
متن کاملResearch on Support Tools for Object-Oriented Software Reengineering
Reengineering presents a practical and feasible approach to transform legacy systems into evolvable systems. Component-based systems are evolvable and can be easily reengineered. Object-oriented software reengineering should base on component library and focus on seamlessly cooperating with component library and assembly tool to construct the whole reengineering system. So the reengineering dis...
متن کاملGeneticFPGA: A Java-Based Tool for Evolving Stable Circuits
GeneticFPGA is a Java-based tool for evolving digital circuits on Xilinx XC4000EXTM and XC4000XLTM devices. Unlike other FPGA architectures popular with Evolutionary Hardware researchers, the XC4000 series architectures cannot accept arbitrary configuration data. Only a small subset of configuration bit patterns will produce operational circuits; other configuration bit patterns produce circuit...
متن کاملSupporting Design by Contract in Java
Design by Contract is a valuable design method for trusted software components. Eiffel shows how to provide appropriate language support for it. However, no such concepts currently exist in Java. Full integration of them into Java may help to improve and guarantee the quality of Java classes. We briefly compare several approaches to extend Java in this way and present our model and a compiler t...
متن کاملA Localization Algorithm Extension for the Evolvable Sensor Network
A localization algorithm is an important component in a wireless sensor network. The requirements for such an algorithm include high estimated node position accuracy and low communication overhead. In an evolvable sensor network, where some running sensor nodes exhaust after a working period and some new nodes are added to maintain the proper operation of the network, a localization algorithm u...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- CoRR
دوره abs/1106.1531 شماره
صفحات -
تاریخ انتشار 2011